import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

// 创建一个Vue实例
export default new Vuex.Store({
  // 公共数据源
  state: {
    count: 0
  },

  // 唯一修改 state 数据的地方
  mutations: {
    addN (state, n) {
      state.count += n
    },
    subN (state, n) {
      state.count -= n
    }
  },

  // 处理异步操作
  actions: {
    addNAsync (context, n) {
      setTimeout(() => {
        context.commit('addN', n)
      }, 0)
    },
    subNAsync (context, n) {
      setTimeout(() => {
        context.commit('subN', n)
      }, 0)
    }
  },
  // 包装state 不修改值
  getters: {

  },
  modules: {}
})
